<?php

class BasesfGuardRegisterActions extends sfActions
{
  public function executeIndex(sfWebRequest $request)
  {
    if ($this->getUser()->isAuthenticated())
    {
      $this->getUser()->setFlash('notice', 'You are already registered and signed in!');
      $this->redirect('@homepage');
    }
    
    $this->form = new sfGuardRegisterForm();
    if ($request->isMethod('post'))
    {
      /*
      $captcha = array(
          'recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'),
          'recaptcha_response_field'  => $request->getParameter('recaptcha_response_field'),
        );
       * 
       */
      $this->form->bind($request->getParameter($this->form->getName())/*,array('captcha' => $captcha)*/);
      if ($this->form->isValid())
      {
        $mdp = $this->form->getValue("password");
        $user = $this->form->save();
        $token = $user->generateActivationToken();
        $user->setActivationToken($token);
        $user->save();

        $this->user = $user;
        $this->activation_link = $this->generateUrl("activate_player", $user);

        $this->setTemplate("finish");

        $this->subject = "Inscription à Mobius Generations";
        $this->body ='
Bonjour et bienvenue sur Mobius Generations ! <br/>
    Vous êtes dorénavant inscrits sur Mobius Generations voici vos identifiants, ne les perdez pas !<br/>
    <b>Nom d\'utilisateur:</b> '.$user->getUsername().'<br/>
    <b>Mot de passe:</b> '.$mdp.'<br/>
    Il ne manque plus qu\'activer votre compte, pour cela cliquez sur le lien ci-dessous:<br/>
    <a href="'.sfConfig::get("app_domain_name").$this->activation_link.'">Activez mon compte</a><br/>
Amusez-vous bien !
<br/><br/>
Toute l\'équipe de Mobius Generations.
';

        sfEmailManager::getSingleton()->createEmail(array($user->getEmailAddress()), $this->subject, $this->body, true)
                ->send();
                
        //on met le pseudo semblable à l'username (le pseudo changeant sauf l'username)
        $user->setPseudo($user->getUsername())->save();
        //$this->getUser()->signIn($user);
        //On compose l'email d'envois
        
      }
    }
  }
}